/**
 * example:[7,1,5,3,6,4]代表每天的股价，求买入和卖出的最佳时机能带来的利润
 * retrun 5（1买入，6卖出）
 * @param {number[]} prices 
 */
var maxProfit = function (prices) {
    if (prices.length === 0) {
        return 0
    }
    
    // 求每个点左边的最小值，就是当前点卖出的最大利润
    let minPrice = prices[0]
    let maxProfit = 0

    for (let i = 0; i < prices.length; i++) {
        if (prices[i] < minPrice) {
            // 记录最小点
            // 此时股票呈下降趋势，必不可能是最大利润点
            // 反之则有可能成为最大利润点
            minPrice = prices[i]
        } else if (prices[i] - minPrice > maxProfit) {
            maxProfit = prices[i] - minPrice
        }
    }

    return maxProfit
}